package com.springcloud.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import com.springcloud.anno.A;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author 咕唧
 * @Date 2022/6/24 17:29
 * @Version 1.0
 * 注解方式，配置全局的负载均衡策略，
 */
@Configuration
@A
public class MyRibbonConfig {

    @Bean
    //  @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)  //设置对象的创建方式为多例
    // 经过测试,在不写多例的情况下,如果共享给所有的客户端,会出现服务器列表获取错误,每次都是获取最后一个功能的地址
    public IRule iRule(){
        //返回一个随机的的负载均衡策略
        return new RandomRule();
    }
}
